package com.sinosoft.dsp.system.to;

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * 通用TO接口
 * 
 * @since 1.0 2010-4-22
 * @author 潘巍（Peter Pan）
 * 
 */
public interface IGenericTO extends IBaseTO {

	/**
	 * 移除一个相关TO集合
	 * 
	 * @param name
	 * @return
	 */
	public List<IGenericTO> removeRelation(String name);

	/**
	 * 增加一个关联TO
	 * 
	 * @param relationName
	 * @param genericDTO
	 */
	public void addRelation(String relationName, IGenericTO genericTO);

	/**
	 * 通过名称得到一个关联的TO集合
	 * 
	 * @param name
	 * @return
	 */
	public List<IGenericTO> getRelations(String name);

	public Set<String> getRelationNames();

	public Map<String, List<IGenericTO>> getRelationsMap();

	public int getNumberOfRelations();

}